Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

297
Vistas
¿Por qué function.toString() genera "[código nativo]", mientras que iniciar sesión en la consola muestra directamente el código fuente de la función?

Decidí crear un script de usuario para el chat en vivo de YouTube. Aquí está el código:

 const toString = Function.prototype.toString unsafeWindow.setTimeout = function (fn, t, ...args) { unsafeWindow.console.log(fn, fn.toString(), toString.call(fn)) unsafeWindow.fns = (unsafeWindow.fns ?? []).concat(fn) return setTimeout(fn, t, ...args) }

Ahora mira cómo se ve la salida:

ingrese la descripción de la imagen aquí

El resultado de algunas de las funciones es predecible, ¡pero mire las otras! Cuando simplemente lo haga console.log , verá el cuerpo de la función, pero si llama a fn.toString() , verá function () { [native code] } .

¿Pero por qué? El script se carga antes que la página, por lo que los scripts de YouTube no pueden reemplazar los métodos.

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda